package demo02.Set;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/*
    java.util.Set接口 extends Collection接口
    Set接口的特点:
        1.不允许存储重复的元素
        2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历
    java.util.HashSet集合 implements Set接口
    HashSet特点:
         1.不允许存储重复的元素
         2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历
         3.是一个无序的集合,存储元素和取出元素的顺序有可能不一致
         4.底层是一个哈希表结构(查询的速度非常的快)
 */
public class Demo01Set {
    public static void main(String[] args) {
/*        HashSet<String> hashSet = new HashSet<>();
        hashSet.add(new String("abc"));// 1.不允许存储重复的元素
        hashSet.add("cba");
        hashSet.add("bca");
        hashSet.add("abc");
        System.out.println(hashSet);
        //遍历
        for (String name:hashSet){
            System.out.println(name);
        }*/
        Set<Integer>set=new HashSet<>();
        set.add(1);
        set.add(2);
        set.add(9);
        set.add(9);// 1.不允许存储重复的元素
        set.add(5);
        Iterator<Integer> iterator=set.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
        System.out.println("==========================");
        //使用增强for遍历set集合
        for(Integer num:set){
            System.out.println(num);
        }

    }
}
